//题目链接：
//https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf?tpId=230&tqId=2021480&ru=/exam/oj&qru=/ta/dynamic-programming/
// question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D196
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n = in.nextInt();
        int q = in.nextInt();
        int[] arr = new int[n + 1];
        arr[0] = 0;
        for (int i = 1; i < arr.length; i++) {
            arr[i] = in.nextInt();
        }
        //防溢出
        long[] dp = new long[arr.length];
        dp[0] = 0;
        for (int i = 1; i < arr.length; i++) {
            dp[i] = arr[i] + dp[i - 1];
        }
        while (q != 0) {
            int l = in.nextInt();
            int r = in.nextInt();
            System.out.println(dp[r] - dp[l - 1]);
            q--;
        }
    }
}